Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - [C] Dubbio sui puntatori
Forum - C/C++ - [C] Dubbio sui puntatori

Avatar
ulysses (Normal User)
Newbie


Messaggi: 16
Iscritto: 30/01/2012

Segnala al moderatore
Postato alle 12:47
Lunedì, 30/01/2012
Nonostante abbia letto molte guide, ho sempre un dubbio con i puntatori.
Prendiamo ad esempio un codice gtk:

Codice sorgente - presumibilmente Plain Text

  1. GtkWidget *window;
  2.  
  3.  gtk_init (&argc, &argv);
  4.  
  5.  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  6.  gtk_window_set_default_size (GTK_WINDOW(window), 250, 250);
  7.  gtk_window_set_title (GTK_WINDOW(window), "Ciao Mondo delle Gtk+!");
  8.  gtk_widget_show (window);



La mia domanda è: perché i widget sono dichiarati come puntatori? Ho provato a dichiarare una finestra come una normale variabile, e mi restituisce errore.

PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Up
2
Down
V
Segnala al moderatore
Postato alle 14:04
Lunedì, 30/01/2012
Allora no ... la

gtk_window_new

crea un nuovo oggetto GtkWidget e ne restituisce il puntatore in memoria.

Ahhh ho capito!! - ulysses - 30/01/12 21:47
PM
Avatar
()
Newbie


Messaggi:
Iscritto:

Up
0
Down
V
Segnala al moderatore
Postato alle 13:11
Lunedì, 30/01/2012
Errore ? Quale errore ?

main.c: In function ?main?: main.c:11:12: error: incompatible types when assigning to type ?GtkWidget? from type ?struct GtkWidget *? main.c:12:3: error: cannot convert to a pointer type main.c:13:3: error: incompatible type for argument 1 of ?gtk_widget_show? /usr/include/gtk-2.0/gtk/gtkwidget.h:85 - ulysses - 30/01/12 13:34
Con quel codice... Mi è bastato togliere l'asterisco dalla variabile window nella prima riga... - ulysses - 30/01/12 13:50
PM